The present invention relates to wireless personal area networks and wireless local area networks. More particularly, the present invention relates to a method for improving the ability of devices in a network to determine the current quality of the transmission media.
The International Standards Organization's (ISO) Open Systems Interconnection (OSI) standard provides a seven-layered hierarchy between an end user and a physical device through which different systems can communicate. Each layer is responsible for different tasks, and the OSI standard specifies the interaction between layers, as well as between devices complying with the standard.
FIG. 1 shows the hierarchy of the seven-layered OSI standard. As seen in FIG. 1, the OSI standard 100 includes a physical layer 110, a data link layer 120, a network layer 130, a transport layer 140, a session layer 150, a presentation layer 160, and an application layer 170.
The physical (PHY) layer 110 conveys the bit stream through the network at the electrical, mechanical, functional, and procedural level. It provides the hardware means of sending and receiving data on a carrier. The data link layer 120 describes the representation of bits on the physical medium and the format of messages on the medium, sending blocks of data (such as frames) with proper synchronization. The networking layer 130 handles the routing and forwarding of the data to proper destinations, maintaining and terminating connections. The transport layer 140 manages the end-to-end control and error checking to ensure complete data transfer. The session layer 150 sets up, coordinates, and terminates conversations, exchanges, and dialogs between the applications at each end. The presentation layer 160 converts incoming and outgoing data from one presentation format to another. The application layer 170 is where communication partners are identified, quality of service is identified, user authentication and privacy are considered, and any constraints on data syntax are identified.
The IEEE 802 Committee has developed a three-layer architecture for local networks that roughly corresponds to the physical layer 110 and the data link layer 120 of the OSI standard 100. FIG. 2 shows the IEEE 802 standard 200.
As shown in FIG. 2, the IEEE 802 standard 200 includes a physical (PHY) layer 210, a media access control (MAC) layer 220, and a logical link control (LLC) layer 225. The PHY layer 210 operates essentially as the PHY layer 110 in the OSI standard 100. The MAC and LLC layers 220 and 225 share the functions of the data link layer 120 in the OSI standard 100. The LLC layer 225 places data into frames that can be communicated at the PHY layer 210; and the MAC layer 220 manages communication over the data link, sending data frames and receiving acknowledgement (ACK) frames. Together the MAC and LLC layers 220 and 225 are responsible for error checking as well as retransmission of frames that are not received and acknowledged.
FIG. 3 is a block diagram of a wireless network 300 that could use the IEEE 802 standard 200. In a preferred embodiment the network 300 is a wireless personal area network (WPAN), or piconet. However, it should be understood that the present invention also applies to other settings where bandwidth is to be shared among several users, such as, for example, wireless local area networks (WLAN), or any other appropriate wireless network.
When the term piconet is used, it refers to a network of devices connected in an ad hoc fashion, having one device act as a coordinator (i.e., it functions as a server) while the other devices (sometimes called stations or nodes) follow the time allocation instructions of the coordinator (i.e., they function as clients). Although the term “device” will be used throughout this disclosure for the sake of clarity, the terms “station,” “node,” and “client” can be freely used in its place.
The coordinator can be a designated device, or simply one of the devices chosen to function as a coordinator. One primary difference between the coordinator and non-coordinator devices is that the coordinator must be able to communicate with all of the devices in the network, while the various non-coordinator devices need not be able to communicate with all of the other non-coordinator devices.
As shown in FIG. 3, the network 300 includes a coordinator 310 and a plurality of non-coordinator devices 320. The coordinator 310 serves to control the operation of the network 300. As noted above, the system of coordinator 310 and non-coordinator devices 320 may be called a piconet, in which case the coordinator 310 may be referred to as a piconet coordinator (PNC). Each of the non-coordinator devices 320 must be connected to the coordinator 310 via primary wireless links 330, and may also be connected to one or more other non-coordinator devices 320 via secondary wireless links 340, also called peer-to-peer links.
In addition, although FIG. 3 shows bi-directional links between devices, they could also be unidirectional. In this case, each bi-directional link 330, 340 could be shown as two unidirectional links, the first going in one direction and the second going in the opposite direction.
In some embodiments the coordinator 310 may be the same sort of device as any of the non-coordinator devices 320, except with the additional functionality for coordinating the system, and the requirement that it communicate with every device 320 in the network 300. In other embodiments the coordinator 310 may be a separate designated control unit that does not function as one of the devices 320.
Through the course if the following disclosure the coordinator 310 will be considered to be a device just like the non-coordinator devices 320. However, alternate embodiments could use a dedicated coordinator 310. Furthermore, individual non-coordinator devices 320 could include the functional elements of a coordinator 310, but not use them, functioning as non-coordinator devices. This could be the case where any device is a potential coordinator 310, but only one actually serves that function in a given network.
Each device of the network 300 may be a different wireless device, for example, a digital still camera, a digital video camera, a personal data assistant (PDA), a digital music player, or other personal wireless device.
The various non-coordinator devices 320 are confined to a usable physical area 350, which is set based on the extent to which the coordinator 310 can successfully communicate with each of the non-coordinator devices 320. Any non-coordinator device 320 that is able to communicate with the coordinator 310 (and vice versa) is within the usable area 350 of the network 300. As noted, however, it is not necessary for every non-coordinator device 320 in the network 300 to communicate with every other non-coordinator device 320.
FIG. 4 is a block diagram of a device 310, 320 from the network 300 of FIG. 3. As shown in FIG. 4, each device (i.e., each coordinator 310 or non-coordinator device 320) includes a physical (PHY) layer 410, a media access control (MAC) layer 420, a set of upper layers 430, and a management entity 440.
The PHY layer 410 communicates with the rest of the network 300 via a primary or secondary wireless link 330 or 340. It generates and receives data in a transmittable data format and converts it to and from a format usable through the MAC layer 420.
The MAC layer 420 serves as an interface between the data formats required by the PHY layer 410 and those required by the upper layers 430.
The upper layers 430 include the functionality of the device 310, 320. These upper layers 430 may include TCP/IP, TCP, UDP, RTP, IP, LLC, or the like.
The management entity 440 provides monitoring and control functions to the MAC layer 420 and the PHY layer 410, and facilitates communication between the upper layers and the MAC layer 420. The management entity 440 may include a device management entity (DME) for controlling the operation of the device and a MAC layer management entity (MLME) for managing operation of the MAC layer 420. In alternate embodiments the DME can be called a station management entity (SME).
Typically, the coordinator 310 and the non-coordinator devices 320 in a WPAN share the same bandwidth. Accordingly, the coordinator 310 coordinates the sharing of that bandwidth. Standards have been developed to establish protocols for sharing bandwidth in a wireless personal area network (WPAN) setting. For example, the IEEE standard 802.15.3 provides a specification for the PHY layer 410 and the MAC layer 420 in such a setting where bandwidth is shared using a form of time division multiple access (TDMA). Using this standard, the MAC layer 420 defines frames and superframes through which the sharing of the bandwidth by the devices 310, 320 is managed by the coordinator 310 and/or the non-coordinator devices 320.
Device IDs and MAC Addresses
One important aspect of working with devices 310, 320 in a network 300 is uniquely identifying each of the devices 310, 320. There are several ways in which this can be accomplished.
Independent of any network it is in, each device 310, 320 has a unique MAC address that can be used to identify it. This MAC address is generally assigned to the device by the manufacturer such that no two devices 310, 320 have the same MAC address. One set of standards that is used in preferred embodiments of the present invention to govern MAC addresses can be found in IEEE Std. 802-1990, “IEEE Standards for Local and Metropolitan Area Networks: Overview and Architecture.”
For ease of operation, the network 300 can also assign a device ID to each device 310, 320 in the network 300 to use in addition its unique MAC address. In the preferred embodiments the MAC 420 uses ad hoc device IDs to identify devices 310, 320. These device IDs can be used, for example, to route packets within the network 300 based on the ad hoc device ID of the destination of the packet. The device IDs are generally much smaller than the MAC addresses for each device 310, 320. In the preferred embodiments the device IDs are 4-bits and the MAC addresses are 48-bits.
Each device 310, 320 should maintain mapping table that maps the correspondence between device IDs and MAC addresses. The table is filled in based on the device ID and MAC address information provided to the non-coordinator devices 320 by the coordinator 310. This allows each device 310, 320 to reference themselves and the other devices in the network 300 by either device ID or MAC address.
The present invention can be used with the IEEE 803.15.3 standard for high-rate WPANs, which is currently under development by the IEEE 802.15 WPAN™ Task Group 3 (TG3). The details of the current draft 802.15.3 standard, including archives of the 802.15.3 working group can be found at: http://www.ieee802.org/15/pub/TG3.html. Nothing in this disclosure should be considered to be incompatible with the draft 802.15.3 standard, as set forth on the IEEE 802 LAN/MAN Standards Committee web page.
Superframes
The available bandwidth in a given network 300 is split up in time by the coordinator 310 into a series of repeated superframes. These superframes define how the available transmission time is split up among various tasks. Individual frames of data are then transferred within these superframes in accordance with the timing set forth in the superframe.
FIG. 5 is a block diagram of a superframe according to preferred embodiments of the present invention. As shown in FIG. 5, each superframe 500 may include a beacon period 510, a contention access period (CAP) 520, and a contention free period (CFP) 530.
The beacon period 510 is set aside for the coordinator 310 to send a beacon frame out to the non-coordinator devices 320 in the network 300. Such a beacon frame will include information for organizing the operation of devices within the superframe. Each non-coordinator device 320 knows how to recognize a beacon 510 prior to joining the network 300, and uses the beacon 510 both to identify an existing network 300 and to coordinate communication within the network 300.
The CAP 520 is used to transmit commands or asynchronous data across the network. The CAP 520 may be eliminated in many embodiments and the system would then pass commands solely during the CFP 530.
The CFP 530 includes a plurality of time slots 540. These time slots 540 are assigned by the coordinator 310 to a single transmitting device 310, 320 and one or more receiving devices 310, 320 for transmission of information between them. Generally each time slot 540 is assigned to a specific transmitter-receiver pair, though in some cases a single transmitter will transmit to multiple receivers at the same time. Exemplary types of time slots are: management time slots (MTS) and guaranteed time slots (GTS).
An MTS is a time slot that is used for transmitting administrative information between the coordinator 310 and one of the non-coordinator devices 320. As such it must have the coordinator 310 be one member of the transmission pair. An MTS may be further defined as an uplink MTS (UMTS) if the coordinator 310 is the receiving device, or a downlink MTS (DMTS) if the coordinator 310 is the transmitting device.
A GTS is a time slot that is used for transmitting isochronous non-administrative data between devices 310, 320 in the network 300. This can include data transmitted between two non-coordinator devices 320, or non-administrative data transmitted between the coordinator 310 and a non-coordinator device 320.
As used in this application, a stream is a communication between a source device and one or more destination devices. The source and destination devices can be any devices 310, 320 in the network 300. For streams to multiple destinations, the destination devices can be all or some of the devices 310, 320 in the network 300.
In some embodiments the uplink MTS may be positioned at the front of the CFP 530 and the downlink MTS positioned at the end of the CFP 530 to give the coordinator 310 a chance to respond to an uplink MTS in the in the downlink MTS of the same superframe 500. However, it is not required that the coordinator 310 respond to a request in the same superframe 500. The coordinator 310 may instead respond in another downlink MTS assigned to that non-coordinator device 320 in a later superframe 500.
The superframe 500 is a fixed time construct that is repeated in time. The specific duration of the superframe 500 is described in the beacon 510. In fact, the beacon 510 generally includes information regarding how often the beacon 510 is repeated, which effectively corresponds to the duration of the superframe 500. The beacon 510 also contains information regarding the network 300, such as the identity of the transmitter and receiver of each time slot 540, and the identity of the coordinator 310.
The system clock for the network 300 is preferably synchronized through the generation and reception of the beacons 510. Each non-coordinator device 320 will store a synchronization point time upon successful reception of a valid beacon 510, and will then use this synchronization point time to adjust its own timing.
Although not shown in FIG. 5, there are preferably guard times interspersed between time slots 540 in a CFP 530. Guard times are used in TDMA systems to prevent two transmissions from overlapping in time because of inevitable errors in clock accuracies and differences in propagation times based on spatial positions.
In a WPAN, the propagation time will generally be insignificant compared to the clock accuracy. Thus the amount of guard time required is preferably based primarily on the clock accuracy and the duration since the previous synchronization event. Such a synchronizing event will generally occur when a non-coordinator device 320 successfully receives a beacon frame from the coordinator 310.
For simplicity, a single guard time value may be used for the entire superframe. The guard time will preferably be placed at the end of each beacon frame, GTS, ATS, and MTS.
The exact design of a superframe 500 can vary according to implementation. FIG. 6 shows an example of a specific superframe design. As shown in FIG. 6, the transmission scheme 600 involves dividing the available transmission time into a plurality of superframes 610. Each individual superframe 610 includes a beacon frame 620, an uplink MTS 630, a plurality of GTS 640, and a downlink MTS 660. This exemplary superframe includes no contention access period.
The beacon frame 620 indicates by association ID (known as a device ID in the IEEE 802.15.3 draft standard) a non-coordinator device 320 that is assigned to the current superframe 610. It also indicates via a receive-transmit table the transmitter/receiver assignments for the individual GTS 640.
In the exemplary superframe structure shown in FIG. 6, the uplink MTS 630 is set aside for the non-coordinator device 320 assigned to the current superframe 610 to upload signals to the coordinator 310. All other non-coordinator devices 320 remain silent on the current channel during this time slot. In alternate embodiments that use multiple channels, all other non-coordinator devices 320 on that channel must remain silent during an uplink MTS 630, though they may still transmit on alternate channels.
The plurality of GTS 640 are the time slots set aside for each of the devices 310, 320 to allow communication between devices. They do so in accordance with the information set forth in the receive-transmit table in the beacon 620. Each GTS 640 is preferably large enough to transmit one or more data frames. When a transmitter-receiver set is assigned multiple GTS 640, they are preferably contiguous.
The downlink MTS 660 is set aside for the coordinator 310 to download signals to the non-coordinator device 320 assigned to the current superframe 610. All other non-coordinator devices 320 may ignore all transmissions during this time slot.
The lengths of the uplink and downlink MTS 630 and 660 must be chosen to handle the largest possible management frame, an immediate acknowledgement (ACK) frame, and the receiver-transmitter turnaround time. For the GTS 640, the length and number must be chosen to accommodate the specific requirements of frames to be transmitted, e.g., short MPEG frames, large frames of the maximum allowable length, and streaming vs. immediate ACK operation.
Although the disclosed embodiment uses a plurality of GTS 640, one uplink MTS 630 placed before the GTS 640, and one downlink MTS 660 placed after the GTS 640, the number, distribution, and placement of GTS 640 and MTS 630, 660 may be varied in alternate embodiments. Preferred embodiments of the present invention will be described below. And while the embodiments described herein will be in the context of a WPAN (or piconet), it should be understood that the present invention also applies to other settings where bandwidth is to be shared among several users, such as, for example, wireless local area networks (WLAN), or any other appropriate wireless network.
However, conventional network designs can operate at higher power levels or lower transmission rates than they might otherwise because the non-coordinator devices 320 have no way of telling whether they are transmitting at too high a power level. The present invention provides a system and method for achieving such feedback.